package com.hzjy.api.mapper;

import com.hzjy.api.beans.HzjyUserPayRecord;
import com.hzjy.api.vo.UserPayRecordDTO;
import com.hzjy.common.utils.PageData;

import java.util.List;
import java.util.Map;

/**
 * 用户支付记录（我的发票列）Mapper接口
 *
 * @author hzjy
 * @date 2020-08-26
 */
public interface HzjyUserPayRecordMapper {
    /**
     * 查询用户支付记录（我的发票列）
     *
     * @param id 用户支付记录（我的发票列）ID
     * @return 用户支付记录（我的发票列）
     */
    public HzjyUserPayRecord selectHzjyUserPayRecordById(Long id);

    /**
     * 查询用户支付记录（我的发票列）列表
     *
     * @param hzjyUserPayRecord 用户支付记录（我的发票列）
     * @return 用户支付记录（我的发票列）集合
     */
    public List<HzjyUserPayRecord> selectHzjyUserPayRecordList(HzjyUserPayRecord hzjyUserPayRecord);

    /**
     * 新增用户支付记录（我的发票列）
     *
     * @param hzjyUserPayRecord 用户支付记录（我的发票列）
     * @return 结果
     */
    public int insertHzjyUserPayRecord(HzjyUserPayRecord hzjyUserPayRecord);

    /**
     * 修改用户支付记录（我的发票列）
     *
     * @param hzjyUserPayRecord 用户支付记录（我的发票列）
     * @return 结果
     */
    public int updateHzjyUserPayRecord(HzjyUserPayRecord hzjyUserPayRecord);

    /**
     * 删除用户支付记录（我的发票列）
     *
     * @param id 用户支付记录（我的发票列）ID
     * @return 结果
     */
    public int deleteHzjyUserPayRecordById(Long id);

    /**
     * 批量删除用户支付记录（我的发票列）
     *
     * @param ids 需要删除的数据ID
     * @return 结果
     */
    public int deleteHzjyUserPayRecordByIds(Long[] ids);

    /**
     * 申请发表数据
     * @param id
     * @return
     */
    HzjyUserPayRecord selectUserPayRecord(Long id);

    /**
     * 发票列表
     * @return
     */
    List<UserPayRecordDTO> payRecordList();

    /**
     * 发票列表
     * @return
     */
    List<HzjyUserPayRecord> selectPayRecordList(HzjyUserPayRecord hzjyUserPayRecord);

    /**
     * 小程序查询发票列表
     * @param pageData
     * @return
     */
    List<PageData> queryHzjyUserPayRecordList(PageData pageData);

    /**
     * 查询发票列表总条数
     * @param pageData
     * @return
     */
    PageData getUserPayRecordNum(PageData pageData);

    /**
     * 查询列表总条数
     * @param hzjyUserPayRecord
     * @return
     */
    Map selectOrderNum(HzjyUserPayRecord hzjyUserPayRecord);

    /**
     * 后台查询用户订单
     * @param hzjyUserPayRecord
     * @return
     */
    List<HzjyUserPayRecord> selectUserPayRecordList(HzjyUserPayRecord hzjyUserPayRecord);
}
